.TH DWM 1 dwm\-VERSION
.SH NAME
dwm \- dynamic window manager (Luke Smith <https://lukesmith.xyz>'s build)
.SH DESCRIPTION
dwm is a dynamic window manager for X. It manages windows in tiled, monocle
and floating layouts. Either layout can be applied dynamically, optimising the
environment for the application in use and the task performed.
.P
In tiled layouts windows are managed in a master and stacking area. The master
area on the left contains one window by default, and the stacking area on the
right contains all other windows. The number of master area windows can be
adjusted from zero to an arbitrary number. In monocle layout all windows are
maximised to the screen size. In floating layout windows can be resized and
moved freely. Dialog windows are always managed floating, regardless of the
layout applied.
.P
Windows are grouped by tags. Each window can be tagged with one or multiple
tags. Selecting certain tags displays all windows with these tags.
.P
Each screen contains a small status bar which displays all available tags, the
layout, the title of the focused window, and the text read from the root window
name property, if the screen is focused. A floating window is indicated with an
empty square and a maximised floating window is indicated with a filled square
before the windows title.  The selected tags are indicated with a different
color. The tags of the focused window are indicated with a filled square in the
top left corner.  The tags which are applied to one or more windows are
indicated with an empty square in the top left corner.
.P
dwm draws a small border around windows to indicate the focus state.
.SH USAGE
.SS Basic bindings
.TP
.B Mod + Enter
Spawn terminal window
.TP
.B Mod + q
Kill window
.TP
.B Mod + j/k
Move through windows in the stack
.TP
.B Mod + J/K
Move selected window down/up in the stack
.TP
.B Mod + Space
Move selected window to be most prominent (or demote most prominent)
.TP
.B Mod + h/l
Resize space between master and slave windows
.TP
.B Mod + I/O
Make extra window master or the reverse
.TP
.B Mod + b
Toggle the status bar
.SS Modes
.TP
.B Mod + t
Tiling (default). Master window(s) on the left and slaves on the right
.TP
.B Mod + f
Monocle (fullscreen). Windows take up entire screen
.TP
.B Mod + y
Fibbonacci spiral. Windows spiral in size based on stack position/prominence
.TP
.B Mod + u
Masters centered in the middle, slaves on either side
.TP
.B Mod + i
No configuration. Windows can be moved and resized by clicking with \fBMod\fP
.TP
.B Mod + o
Centered and floating masters, slaves behind
.SS Floating/non-tiled windows
.TP
.B Mod + Shift + Space; Mod + Middle Click
Toggle a window as floating
.TP
.B Mod + Left click
Move window
.TP
.B Mod + Right click
Resize window
.SS Tag/workspace bindings
Tags work like workspaces in other window managers like i3, but you have the additional ability to open multiple tags at once, or place windows on multiple tags.
.TP
.B Mod + [1-9]
View that number tag
.TP
.B Mod + Shift + [1-9]
Move/tag selected window to that tag
.TP
.B Mod + g/;
View the tag to the left/right of the currently selected one
.TP
.B Mod + Tab/Backslash
Return to previous tag or tag configuration
.TP
.B Mod + Ctrl + [1-9]
View that tag in addition to currently active tag(s)
.TP
.B Mod + Ctrl + Shift + [1-9]
Move/tag selected window to that tag, but also keep it on current tag
.TP
.B Mod + 0
Open all tags at once, allowing you to see all windows
.TP
.B Mod + Shift + 0
Move/tag selected window to all tags
.SS Other bindings
Most of the other binding in my setup are bound not by dwm, but sxhkd.
This includes \fBMod + d\fP to run dmenu, \fBMod + r\fP for the file manager, etc.
See those bindings in \fI~/.config/sxhkd/sxhkdrc\fP if you're running LARBS.
If you have simply compiled this build without LARBS, see the file on my Github <\fIhttps://github.com/lukesmithxyz/voidrice\fP>.
.TP
.B Mod + F2
Restart dwm; will quit if dwm is not in an init loop
.SH CUSTOMIZATION
dwm is customized by creating a custom config.h and (re)compiling the source
code. This keeps it fast, secure and simple.
.SH SEE ALSO
.BR dmenu (1),
.BR st (1)
.SH ISSUES
Java applications which use the XToolkit/XAWT backend may draw grey windows
only. The XToolkit/XAWT backend breaks ICCCM-compliance in recent JDK 1.5 and early
JDK 1.6 versions, because it assumes a reparenting window manager. Possible workarounds
are using JDK 1.4 (which doesn't contain the XToolkit/XAWT backend) or setting the
environment variable
.BR AWT_TOOLKIT=MToolkit
(to use the older Motif backend instead) or running
.B xprop -root -f _NET_WM_NAME 32a -set _NET_WM_NAME LG3D
or
.B wmname LG3D
(to pretend that a non-reparenting window manager is running that the
XToolkit/XAWT backend can recognize) or when using OpenJDK setting the environment variable
.BR _JAVA_AWT_WM_NONREPARENTING=1 .
.SH BUGS
Send all bug reports with a patch to hackers@suckless.org.
